package cn.cpf.cfets;

import com.github.cosycode.common.util.io.IoUtils;
import org.apache.pdfbox.pdfparser.PDFParser;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.text.PDFTextStripper;

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;

/**
 * <b>Description : </b>
 * <p>
 * <b>created in </b> 2021/2/1
 *
 * @author CPF
 * @since
 **/
public class PdfTest {
    /**
     * 读PDF文件，使用了pdfbox开源项目，新的版本已经支持中文了。
     * 上www.pdfbox.org下载读PDF的jar包
     * @param fileName
     */
    public void readPDF(String fileName) {
//        File file = new File(fileName);
//        try (FileInputStream in = new FileInputStream(file)) {
//            //新建一个PDF解析器对象
//            PDFParser parser = new PDFParser();
//            //对PDF文件进行解析
//            parser.parse();
//            //获取解析后得到的PDF文档对象
//            PDDocument pdfdocument = parser.getPDDocument();
//            //新建一个PDF文本剥离器
//            PDFTextStripper stripper = new PDFTextStripper();
//            //从PDF文档对象中剥离文本
//            String result = stripper.getText(pdfdocument);
//            System.out.println("PDF文件" + file.getAbsolutePath() + "的文本内容如下：");
//            System.out.println(result);
//
//        } catch (Exception e) {
//            System.out.println("读取PDF文件"+ file.getAbsolutePath() + "生失败！" + e);
//            e.printStackTrace();
//        }
    }

    public static String name2 = "D:\\Users\\CPF\\Desktop\\FMBS\\resources\\CFETS 开发指引\\接口开发指引-本币\\新平台本币交易接口\\第2卷-现券买卖市场V3.3.4.pdf";

    public static void main(String[] args) throws IOException {
        readPDF0(name2);
    }

    public static void readPDF0(String fileName) throws IOException {
        PDDocument document = PDDocument.load(new File(fileName));
        if (!document.isEncrypted()) {
            PDFTextStripper stripper = new PDFTextStripper();
            String text = stripper.getText(document);
            IoUtils.writeFile(
                    "D:\\Users\\CPF\\Desktop\\FMBS\\resources\\CFETS 开发指引\\接口开发指引-本币\\新平台本币交易接口\\PDFTextStripper.txt",
                    text.getBytes());
        }
    }

}
